In recent years, mobile devices such as telephones, smartphones and personal digital assistants (PDAs) have become extremely popular (e.g., at the start of 2014 the number of mobile devices connected to a network exceeded the population of the Earth). Accordingly, several urgent problems have arisen: ensuring the security of personal user data being kept on a mobile device, that is, protecting this data against theft or damage carried out with the aid of malicious software; and preventing user access to undesirable information, such as advertising, sites containing pornographic multimedia data, such as photographs or video clips (e.g., if the mobile device is in the possession of a child), or to undesirable links to external servers (e.g., to the smartphone software update server when the smartphone is in roaming mode).
The principal ways of solving these problems are the intercepting of both downlink and uplink network transmissions and the monitoring of the transmitted data. In this case, the software controlling the network traffic decides which data should be transmitted or received, which data should be blocked, and which data should be set aside for a decision by the user.
Various means can be used to intercept data being transmitted in a network, such as a proxy server, a VPN client, or a firewall. Each of the aforementioned means has its advantages and disadvantages. For example, a proxy server is generally best suited to intercepting http traffic, it is easier to set up, and it can be installed in an operating system not having administrator rights; the VPN client, on the other hand, is able to work with any given types of data being transmitted in the network, but is more complicated to control and requires administrator rights to work in an operating system. The firewall has certain advantages of both a proxy server and a VPN client, but is more demanding on the resources of the mobile device. Accordingly, the installed interception means often do not work optimally.
Thus, the main problem in the use of intercept means comes down to selecting an intercept means which is best suited to the current task of intercepting data being transmitted on a network, and then implementing the selected means on the user's device.